package com.test.pattern.responsibility;

/**
 * @ClassName: Client
 * @description:
 * @author: Mr du
 * @create: 2024-03-10 23:18
 */
public class Client {

    public static void main(String[] args) {
        //创建一个请假条对象
        LeaveRequest leave = new LeaveRequest("小明", 9, "出去相亲");
        //创建各级领导对象
        Handler groupLeader = new GroupLeader();
        //创建部门经理对象
        Handler manager = new Manager();
        //创建总理对象
        Handler generalManager = new GeneralManager();
        //设置处理者链
        groupLeader.setNextHandler(manager);
        manager.setNextHandler(generalManager);

        //之所以在这里设置上级领导，是因为可以根据实际需求来更改设置，如果实战中上级领导人都是固定的，则可以移到领导实现类中。

        //提交申请
        groupLeader.submit(leave);
    }
}
